home *** CD-ROM | disk | FTP | other *** search
/ Teach Your Children: Road Construction Ahead / Teach Your Children: Road Construction Ahead.iso / pc / rca / road.dxr / 00094_IO-scratch.ls < prev    next >
Encoding:
Text File  |  1996-07-17  |  2.0 KB  |  76 lines

  1. global gCPU, gSavePath, gXobjPath, gMiscXobject, gIOerrors, gFileIOobject
  2.  
  3. on openDataFile
  4.   if objectp(gFileIOobject) then
  5.     gFileIOobject(mdispose)
  6.   end if
  7.   set gFileIOobject to FileIO(mnew, "?read", saveDataType())
  8.   if objectp(gFileIOobject) then
  9.     set dataStream to gFileIOobject(mReadFile)
  10.     if objectp(gFileIOobject) then
  11.       gFileIOobject(mdispose)
  12.     end if
  13.     exit
  14.   else
  15.     if not voidp(gFileIOobject) and (gFileIOobject <> -43) then
  16.       set errorMessage to getaProp(gIOerrors, abs(gFileIOobject))
  17.       if voidp(errorMessage) then
  18.         alert("Error occurred: Code" && string(gFileIOobject))
  19.       else
  20.         alert("Error occurred:" && errorMessage)
  21.       end if
  22.     end if
  23.     if objectp(gFileIOobject) then
  24.       gFileIOobject(mdispose)
  25.     end if
  26.     exit
  27.   end if
  28. end
  29.  
  30. on saveDataFile saveName, saveString
  31.   set diskSpace to gMiscXobject(mSpaceOnVol, gMiscXobject(mBootName))
  32.   if diskSpace < 50000 then
  33.     alert("Sorry, the disk is too full to save your game.")
  34.     exit
  35.   end if
  36.   if objectp(gFileIOobject) then
  37.     gFileIOobject(mdispose)
  38.   end if
  39.   if gCPU = #Windows then
  40.     set saveName to saveName & "." & saveDataType()
  41.   end if
  42.   set gFileIOobject to FileIO(mnew, "write", gSavePath & ":" & saveName)
  43.   if objectp(gFileIOobject) then
  44.     if gCPU = #Mac then
  45.       put gFileIOobject(mSetFinderInfo, saveDataType(), "ttxt")
  46.     end if
  47.     gFileIOobject(mWriteString, saveString)
  48.     if objectp(gFileIOobject) then
  49.       gFileIOobject(mdispose)
  50.     end if
  51.     exit
  52.   else
  53.     if not voidp(gFileIOobject) and (gFileIOobject <> -43) then
  54.       set errMsg to getaProp(gIOerrors, abs(gFileIOobject))
  55.       if voidp(errMsg) then
  56.         alert("Error occurred: Code" && string(gFileIOobject))
  57.       else
  58.         alert("Error occurred:" && errMsg)
  59.       end if
  60.     end if
  61.     if objectp(gFileIOobject) then
  62.       gFileIOobject(mdispose)
  63.     end if
  64.     exit
  65.   end if
  66. end
  67.  
  68. on saveDataType
  69.   if gCPU = #Mac then
  70.     set signature to "TEXT"
  71.   else
  72.     set signature to "TXT"
  73.   end if
  74.   return signature
  75. end
  76.